In many video coding applications, videos have to be encoded with constraints on the bit-rate, e.g. 50-400 kbps is typical for delivery to mobile devices. Encoding a video with low bit-rates leads to a loss of visual information and thereby impacts its subjective quality or viewing experience. Under such lossy encoding conditions, subjective quality can be improved by reducing the loss of quality in salient or important regions.
In certain systems, such as the object highlighting system shown in FIG. 1, objects or regions of interest are detected and their coded quality is improved by pre-processing and/or using an object-aware encoder to better preserve important objects. This done because it is important to viewers be able to clearly see objects of interest in a video such as the ball or players in soccer videos.
A typical object-aware encoder is capable of receiving information about various objects or regions in a video and using this information in order to better preserve important objects and thus improve the viewing experience of the user. Such an encoder usually works by using the object information to guide encoding operations such as resource allocation and mode decisions.
There are a plurality of methods which can preserve objects; however, for a given video, the selection of one method may not yield optimum object preservation for the entire video. As such, a need exists for an object preservation methodology which is reflexible enough to preserve an entire video optimally.